package com.itheima.factory;

import com.itheima.service.UserService;
import org.springframework.context.annotation.Bean;

/**
 * Description:
 *
 * @author codermao
 * @date 2023/11/3 10:29
 */

/**
 * 工厂方式配置：
 *      1、缺点：编写麻烦
 *      2、优点：
 *          i）没有类名的类 （无法直接xml bean配置，无法直接@Component配置）
 *          ii）第三方的类无法使用注解方式配置
 *              （因为第三方框架的类都是字节码，无法直接编写）
 *      3、配置
 *          i）当前类要被spring找到 -》@Component
 *          ii）在工厂方式上添加@Bean
 *              效果：此方法的返回值会被放到ioc容器中
 */
//@Component
public class StaticFactory {
    @Bean("us")
    public static Object getObject(){
        return new UserService(){
            @Override
            public void save() {
                System.out.println("静态工厂 UserServiceImpl save...");
            }
        };
    }

    /*public static Object geCtx(){
        return new ClassPathXmlApplicationContext("applicationContext_quit.xml");
    }*/
}
